The information or data of a company are important assets of the company's business. Also important is making such data or information of the company continuously available. Therefore, and is known to those skilled in that art, storage replication, mirroring and/or back-up systems are desirable so as to make such data or information continuously available; in particular in the event such data or information becomes lost or corrupted as a result of a failure of a computer system or primary storage system. In addition, there also is a need to maintain back-ups of such data and information at locations that are remote from the place of business in order to prevent a catastrophe, whether natural (e.g., weather) or man-made, from causing a loss of such data or information.
Thus, remote data mirroring has become increasingly important as organizations and businesses depend more and more on digital information. It has been widely deployed in the financial industry and other businesses for tolerating failures and disaster recovery. Since the occurrence of events over the last several years, replicating data to a far-away back-up site has taken on new urgency with the heightened awareness of business resiliency requirements. The federal government also has made indications about requiring companies in some industries to back up data to an out-of-region location, although exact distance requirements were delayed until recently.
There are many remote replication/mirroring products in the market today. These products can generally be classified into two broad categories. One category is block-level remote mirroring for data storages in an FC-SAN (Fiber Channel-Storage Area Network). The other category is file-based remote mirroring over the Internet, which product is generally used for small to medium size businesses.
Traditional block-level remote mirroring has been done using and through dedicated/leased network connections and is managed on a storage area network based on Fibre Channel protocol (FC-SAN). Such leased network connections are usually very costly. For example, the cost of leasing a WAN connection with speed of 155 Mbps could cost about $460,000/year, which is in addition to the high cost for hardware/software installations and management of FC-SAN. Consequently, large companies such as Fortune 500 and similar businesses have adopted such remote mirroring, but as a practical matter it has not been adopted by small to medium size businesses. Mirroring products in this market sector include EMC's SRDF (Symmetrix Remote Data Facility), IBM's XRC (Extended Remote Copy) HP's XP arrays and CASA (continuous access storage appliance), Veritas' Volume Replicator, and NetApp's SnapMirror, to list a few.
These products differ from each other depending on how closely synchronized the mirrored data copies are, how to propagate file changes, and when to acknowledge the host, etc. For example, EMC's SRDF prefers synchronous mode while allowing a certain degree of asynchrony for better performance, and HP's CASA and NetApp's SnapMirror use an asynchronous mode that allows mirrored copies to be different from primary copies for a controllable short period of time. There also are different variations for such products targeted to this market sector.
Besides high bandwidth network connections and specialized network protocol, remote data mirroring requires high-speed data buffers to ensure adequate performance. Cache (e.g., flash memory/NVRAM, battery backed DRAM/SRAM) has been traditionally used in data storage systems that have the functionality of asynchronous remote mirroring. Because of traffic fluctuations on WAN networks, the cache has to be sufficiently large to allow a smooth mirroring without affecting application server performance. In one product for example, tens of Gigabyte of battery backed RAM is provided to cache the data to be mirrored.
Such large RAM caches are generally prohibitively expensive and consequently increase the storage cost dramatically as compared to storage systems that embody hard disk drives. As a result, they are suitable only to large corporations such as Fortune 500 companies. One company has recently released some products to meet the storage needs of small to medium size companies. The manufacturer has indicated that as to the mirroring functionality, however, there could be a significant performance impact with the write-intent-log and for this reason the use of the write-intent-log is not enabled by default.
In addition to being expensive, using RAM as a cache for the write operations raises reliability issues because RAM is a volatile memory. In contrast, disks such as hard magnetic disks are nonvolatile memories and the technologies have developed very rapidly in the past two decades making disks highly reliable and very inexpensive with extremely high density. The speed of disk operations, however, is limited by necessary mechanical operations including seek-time (5-10 ms) and rotation latency (5-10 ms) for each block access. Attempts have been made to make disk operations faster by changing the data layout on disks.
Although storage products that use disk as a write cache have not been seen in commercial applications, there does exist research and studies that are directed to speeding up disk operations. One of the more important works in this area is the Log-Structured File system (LSF) that buffers small writes in a RAM to form large logs of data that is to be subsequently and sequentially written into a disk (sometimes referred to as the log disk), thereby eliminating many random seeks and rotation latency. While the LSF system has a great potential to improve write performance, it has not been commercially successful to date and is limited to only academic research because of its requirements of operating system (OS) change, expensive cleaning algorithm, and limited read performance.
There has been proposed in U.S. Pat. No. 5,297,258 to Hale et al, U.S. Pat. No. 5,754,888 to Yang et al., and published US application No. 2002/0103983 to Page to use the LSF as an intermediate stage between the CPU and the disk. While the specific approaches are different, the final objectives and achievements are the basically the same: speeding-up write operations of the disk subsystem in a computer without changing the host OS. The basic premise of these patents/published patent application is that the computer can find idle time to de-stage or move the data from the LSF disk or log disk to the disk that has the host OS layout. For example and referring specifically to U.S. Pat. No. 5,754,888; a smart algorithm is provided to find idle time and to de-stage data from the cache to the data disk. While presumably advancing the art, all of the described disk caching technologies; however, suffer from read performance penalty because of the lengthy process to locate and read data.
U.S. Pat. No. 6,243,795 to Yang et al proposes an asymmetric and redundant cache architecture that reduces the read performance penalty mentioned above and increases the reliability of the storage subsystem using redundant low cost disks. The objective of this invention is to provide a redundant and backup copy of cached data in a disk or disk array system using inexpensive disks. This architecture is not a complete mirror solution that mirrors data in its entirety, however; instead this architecture just backups the cached portion of data.
US Patent Publication No. 2002/0103983 to Page proposes an inexpensive solution that mirrors data in high speed disks using a large capacity and inexpensive disk. The objective is to replace the high speed mirror disk in a RAID-1 configuration using a large capacity and low cost disk that is partitioned into different zones. Some zones implement LSF data layout to allow quick writes and other zones use the same data layout as the disks being mirrored. This structure is similar to the logical cache disk in described in U.S. Pat. Nos. 5,754,888 and 6,243,795.
None of the inventions and technologies described in these patents/patent publications addresses the issue of real-time, asynchronous remote mirroring for data storage systems. US patent publication 2004/0117344 to Yang et al. describes a device driver algorithm that is inserted between the file system and the block device in a computer to allow write operations to be backed up in a remote computer. The invention and technology described in U.S. Pat. No. 5,754,888 also is used inside the device driver in an attempt to improve backup performance. Recent performance studies, however, has tended to show that the caching function described in U.S. Pat. No. 5,754,888 has severe performance limitations. Thus, it appears users will experience significant delays if remote mirroring is to be performed even using the cache technology mentioned above.
Because of performance impact and high cost of block level, real-time, asynchronous remote mirroring, many companies have been providing low cost backup solutions for companies that have limited bandwidth budget, or less demanding replication requirements. These solutions/services, however, are generally based on file system level data backup at predetermined time intervals such as weekly, daily, or hourly. With these solutions/services, a specialized backup application program is invoked or executed at the designated backup time point to collect file changes and to also transfer the changes to a remote site.
For example, products offered by one company (i.e., Connected) use their proprietary program that starts, at the scheduled backup time, runs by examining metadata to find changes made since the last backup, and creates a delta file. This delta file is then transmitted to the server program through a TCP/IP socket and the server program in turn then updates the changes in the backup file. There are variety of variations and improvements of file-based backup solutions including reducing the size of the delta file, using byte-patching that sends only the changed bytes and so on. Although these solutions/technologies have better efficiency and network performance than blindly backing up entire files, the data is vulnerable between scheduled backup times and also because it takes several minutes or longer to do the backups.
In sum, the main challenge facing the storage vendors, particularly vendors whose products are for small to medium size businesses, is providing high performance and full featured storage systems with low cost. As such, it is not appropriate in these cases to use tens of Gigabytes of battery backed RAM as a cache to implement asynchronous remote mirroring. As a practical matter, this is why iSCSI vendors do not have remote mirroring functions in their product offerings [e.g., see Storage Magazine, January 2004]. The approaches of most low-end to medium storage vendors are to offer snapshot and backup solutions for disaster recovery.
It thus would be desirable to provide a new device, system and methods for providing data storage replication, mirroring and/or back-up for low-end to midsize storages that can provide asynchronous, remote mirroring without affecting application performance as is experienced by conventional low-end to medium storage products. It would be particularly desirable to provide such devices, systems and methods that also would provided a mechanism by which such data replication, mirroring and/or back-up can occur essentially in real time. It also would be particularly desirable to provide such devices and systems that use a caching technique that is less expensive than conventional devices and systems that use an all NVRAM cache.